difference between private constructor and static class in c